Міністерство освіти та науки України
Національний університет «Львівська політехніка»
Інститут ІКНІ
Кафедра АСУ
ЗВІТ
До лабораторної роботи № 3
На тему: “Проектування запитів до бази даних”
Мета роботи: Вивчення засобів розроблення запитів RQBE, виглядів запитів, їхнього виконання та застосування для роботи з реляційними базами даних.
Теоретична частина
Запити застосовуються користувачем для вибірки з бази даних інформації, яка його цікавить, тобто відповідає певним критеріям. Наприклад, може йтися про пошук всіх клієнтів, що живуть в Україні, або про вибір відомостей про торгові операції, здійснені за останній квартал.
Якщо необхідно скласти запит на підставі декількох таблиць, то між цими таблицями попередньо необхідно встановити відношення, зв'язуючи поля одне з одним.
Результат роботи запиту Access являє собою таблицю яка називається Dynaset (динамічний, тимчасовий набір даних). Під час кожного виконання запиту заново здійснюється вибірка даних.
За способом побудови запити діляться на: QBE–запити (Query By Example - запит за зразком), користувач дає їм визначення, специфікуючи окремі параметри у вікні проектування з використанням підказок (зразків), та SQL–запити (Structured Query Language - структурована мова запитів). Формулюючи їх, користувач застосовує інструкції і функції, створюючи деякий описання. QBE–запит Access легко транслює у відповідний SQL–запит. Під час зворотної операції можливі деякі нюанси та неточності.
Запити можна поділити на певні категорії: запити на вибір інформації та виконання статистичних підрахунків, запити, що вносять зміни, параметричні та перехресні запити.
Запит на вибірку (Select Query)
Найпоширеніший запит, який здійснює вибірку даних з таблиці, таблиць та з інших запитів.
<Ім’я поля результуючої таблиці>: [<Назва таблиці>]![<Ім’я поля>]
Приклад: CustID: [Customers]![Customer ID]
Такий запис означає, що результуюча таблиця (результат роботи цього запиту) буде містити поле з іменем CustID, значеннями якого є значення поля CustomerlD з таблиці Customers, звичайно не всі, а лише ті, які задовольнили критерії запиту.
Якщо у вікні конструктора запитів натиснути кнопку меню з літерою S (або вибрати пункт Totals з меню View), то з’явиться ще одне поле - Total (Групова операція). Це поле призначене для виконання групових обчислень. Наприклад, необхідно підрахувати загальну суму всіх замовлень кожного з клієнтів. Для того, щоб здійснити обчислення, необхідно вибрати одну з опцій у списку.
Дванадцять опцій цього списку можна поділити на чотири категорії (див. табл. 12).
Таблиця 12.
Типи операцій у запитах
Категорія
Призначення
1
2
Group By
(Групування)
Збирає записи, що мають спільні ознаки, у групи, над якими потім виконуються операції
Набір операцій
Визначає математичну операцію, яка буде виконана над полем
Expression
(Вираз)
Об’єднує декілька операцій у вираз
Where
(Умова)
Накладає деяке обмеження
Категорія групування дає змогу вибрати певні поля, які пізніше будуть опрацьовуватись як група. Вибір категорії виразу вказує на те, що поле буде опрацьовано у декілька етапів. Під час вибору категорії умови встановлюються обмежувальні критерії для полів, над якими буде виконано статистичні розрахунки.
Зауваження. Враховуючи те, що Count пропустить всі порожні значення, якщо необхідно підрахувати всі поля (зокрема й ті, що містять порожні значення), треба вибирати поле первинного ключа для застосування цієї операції.
Перехресний запит (Crosstab Query)
У Access можна створювати особливі типи запитів - перехресні. Вони відрізняються тим, що відображають сумарну інформацію у компактному та у зручному для читання вигляді. Перехресний запит створює з таблиці звичайну матрицю, яка описує відповідність значень одного поля значенням іншого поля у таблиці. Він надає кінцеву інформацію для вказаних полів у формі розрідженого масиву. По вертикалі такого масиву відображаються значення першого поля, по горизонталі - другого. На ...